package com.katze.boot.file.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.katze.boot.file.entity.FileDatabaseEntity;
import com.katze.boot.file.entity.FolderEntity;
import com.katze.common.Pagination;

import java.io.IOException;
import java.util.function.Function;


/**
* 说  明： 服务类
* 作  者：admin
* 日  期：2023-12-07
*/
public interface FolderService extends IService<FolderEntity> {

    Object findFolders(Pagination pagination, FolderEntity folder);

    /**
     * 在文件库中新建目录
     *
     * @param fileDatabase 文件库
     * @param update
     */
    boolean create(FileDatabaseEntity fileDatabase, Function<FileDatabaseEntity, Boolean> update) throws IOException;

    /**
     * 删除存储目录下所有文件
     *
     * @param id            目录ID/文件库ID
     * @param fileDatabase  参数1是否为文件库ID
     */
    void delete(String id, boolean fileDatabase);
}
